#include<iostream>
using namespace std;
const double PI = 3.1415926;
class Shape
{
public:
	virtual double ZhouChang() = 0;
	virtual double Area() = 0;
	virtual void Show() = 0;
};
class Circle :public Shape
{
private:
	double r;
public:
	Circle(double temp):r(temp)
	{}
	double ZhouChang()
	{
		return 2 * PI * r;
	}
	double Area()
	{
		return PI * r * r;
	}
	void Show()
	{
		cout << "r==" << r << endl;
	}
};

int main()
{
	Shape* s1;
	Circle c1(5);
	s1 = &c1;
	s1->Show();
	cout << s1->Area() << endl;
	cout<<s1->ZhouChang();
	return 0;
}